학습목표

  1. Series 데이터 연산하기
In [1]:
import numpy as np
import pandas as pd

index를 기준으로 연산

In [3]:
s1 = pd.Series([1, 2, 3, 4], ['a', 'b', 'c', 'd'])
s2 = pd.Series([6, 3, 2, 1], ['d', 'c', 'b', 'a'])
print(s1)
print(s2)
a    1
b    2
c    3
d    4
dtype: int64
d    6
c    3
b    2
a    1
dtype: int64

산술연산

  • Series의 경우에도 스칼라와의 연산은 각 원소별로 스칼라와의 연산이 적용
  • Series와의 연산은 각 인덱스에 맞는 값끼리 연산이 적용
    • 이때, 인덱스의 pair가 맞지 않으면, 결과는 NaN
In [5]:
s1+s2
Out[5]:
a     2
b     4
c     6
d    10
dtype: int64
In [7]:
s1 ** 2
Out[7]:
a     1
b     4
c     9
d    16
dtype: int64
In [8]:
s2 ** 2
Out[8]:
d    36
c     9
b     4
a     1
dtype: int64
In [9]:
s1 ** s2
Out[9]:
a       1
b       4
c      27
d    4096
dtype: int64
In [13]:
s1 ** s1
Out[13]:
a      1
b      4
c     27
d    256
dtype: int64

index pair가 맞지 않는 경우

  • 해당 index에 대해선 NaN 값 생성
In [16]:
s1['K'] = 7
s2['E'] = 9
In [18]:
print(s1)
print(s2)
a    1
b    2
c    3
d    4
K    7
dtype: int64
d    6
c    3
b    2
a    1
E    9
dtype: int64
In [19]:
s1+s2
Out[19]:
E     NaN
K     NaN
a     2.0
b     4.0
c     6.0
d    10.0
dtype: float64